package com
{
	import mx.collections.ArrayCollection;
	
	public class carrito
	{
		private var _contCarrito:ArrayCollection = new ArrayCollection();
		
		[Bindable]
		public var precioTotal:Number = 0;
		
		
		public function carrito()
		{
		}
		
		public function addItem(_item:itemCarrito):void{
			var existe:Boolean = false;
			for(var i:uint = 0; i<_contCarrito.length; i++){
				var item:itemCarrito = _contCarrito.getItemAt(i) as itemCarrito;
				
				if(_item.id == item.id){
					item.cantidad ++;
					existe = true;
					break;
				}
			}
			if(!existe){
				_item.cantidad = 1;
				_contCarrito.addItem(_item);
			}
			
			recalculaTotal();
		}
		
		public function removeItem(id:uint):void{
			for(var i:uint = 0; i<_contCarrito.length; i++){
				var item:itemCarrito = _contCarrito.getItemAt(i) as itemCarrito;
				if(item.id == id){
					if(item.cantidad > 1){
						item.cantidad --;
					}else{
						_contCarrito.removeItemAt(i);
					}
					break;
				}
			}
			recalculaTotal();
		}
		
		[Bindable]
		public function get contCarrito():ArrayCollection{
			return _contCarrito;
		}
		
		private function recalculaTotal():void{
			var totalTemp:Number = 0;
			for(var i:uint = 0; i<_contCarrito.length; i++){
				var item:itemCarrito = _contCarrito.getItemAt(i) as itemCarrito;
				totalTemp += Number(item.precio) * item.cantidad;
			}
			
			precioTotal = totalTemp;
		}
		
		
		
		
		
		
	}
}